package cn.iocoder.yudao.module.project.controller.admin.orderdetail.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 生产订单详情新增/修改 Request VO")
@Data
public class OrderDetailSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26074")
    private String id;

    @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "产品名称不能为空")
    private String name;

    @Schema(description = "partID", requiredMode = Schema.RequiredMode.REQUIRED, example = "23488")
    @NotEmpty(message = "partID不能为空")
    private String partId;

    @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "型号不能为空")
    private String flex;

    @Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "长度不能为空")
    private Double len;

    @Schema(description = "JR/INT/SR", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotEmpty(message = "JR/INT/SR不能为空")
    private String type;

    @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "数量不能为空")
    private Long num;

    @Schema(description = "C课交期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "C课交期不能为空")
    private String expiryDate;

    @Schema(description = "EAN CODE", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "EAN CODE不能为空")
    private String eanCode;

    @Schema(description = "图档名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "图档名不能为空")
    private String drawing;

    @Schema(description = "面漆", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "面漆不能为空")
    private String topcoat;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "订单编号不能为空")
    private String orderCode;

    @Schema(description = "订单数量")
    private Integer orderNumber;

    @Schema(description = "形状")
    private String shape;

    @Schema(description = "前段抽测")
    private String frontSpotCheck;

    @Schema(description = "内仁/肩膀造型")
    private String armholeShoulderInspection;

    @Schema(description = "后段抽测")
    private String backSpotCheck;

    @Schema(description = "详情信息json")
    private String detailInfoJson;

    @Schema(description = "型号全名")
    private String fullFlexName;

    @TableField(exist = false)
    private Long oldnum;

}